// TravelRouteService.java
package org.example.travel.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import org.example.travel.dto.RouteActionDTO;
import org.example.travel.dto.TravelRouteSearchDTO;
import org.example.travel.entity.TravelRoute;

public interface TravelRouteService {

    /**
     * 搜索旅游路线
     */
    IPage<TravelRoute> search(TravelRouteSearchDTO dto);

    /**
     * 记录用户行为日志（浏览/收藏）到 Redis
     */
    void logAction(RouteActionDTO dto);

    /**
     * 每天凌晨定时更新热度值并写入 Redis 热门缓存
     */
    void updateHeatScoresAndCache();

    /**
     * 每 5 分钟定时写入行为日志数据到数据库
     */
    void flushRouteLogs();
}
